package sk.tuke.domain;

import java.util.List;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

import sk.tuke.utils.TimestampAdapter;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MedicalRecordType", propOrder = { "number", "name", "date", "healthCardNumber", "diagnose", "status", "medicalNotes" })
@XmlRootElement(name = "MedicalRecord")
public class MedicalRecord {

	@XmlElement(required = true)
	private Integer number;
	@XmlElement(required = true)
	private String name;
	@XmlElement(required = true)
	private Integer healthCardNumber;
	@XmlElement(required = true)
	@XmlJavaTypeAdapter(TimestampAdapter.class)
	private java.sql.Timestamp date;
	@XmlElement(required = true)
	private Diagnose diagnose;
	@XmlElement(required = true)
	private Status status;
	@XmlElement(required = false)
	private List<MedicalNote> medicalNotes;

	public Integer getNumber() {
		return number;
	}

	public void setNumber(Integer number) {
		this.number = number;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public java.sql.Timestamp getDate() {
		return date;
	}

	public void setDate(java.sql.Timestamp date) {
		this.date = date;
	}

	public Diagnose getDiagnose() {
		return diagnose;
	}

	public void setDiagnose(Diagnose diagnose) {
		this.diagnose = diagnose;
	}

	public Status getStatus() {
		return status;
	}

	public void setStatus(Status status) {
		this.status = status;
	}

	public void setMedicalNotes(List<MedicalNote> medicalNotes) {
		this.medicalNotes = medicalNotes;
	}

	public List<MedicalNote> getMedicalNotes() {
		return medicalNotes;
	}

	public void setHealthCardNumber(Integer healthCardNumber) {
		this.healthCardNumber = healthCardNumber;
	}

	public Integer getHealthCardNumber() {
		return healthCardNumber;
	}

}